home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / ext2_200.zip / README.32 < prev    next >
Text File  |  1996-09-23  |  3KB  |  57 lines

  1. FEATURES AND RESTRICTIONS OF THE 32 BITS VERSION OF EXT2-OS2 :
  2. --------------------------------------------------------------
  3.  
  4.   OS/2 Requirements :
  5.       - MERLIN BETA : seems to work OK.
  6.       - OS/2 WARP : fixpack 17 or higher is required. Bare OS/2 
  7.                     WARP (no fixpack) should be OK but I did not
  8.                     test it.
  9.       - OS/2 2.x  : not supported.
  10.       - OS/2 1.x  : not supported.
  11.  
  12.   Restrictions over the 16 bits implementation :
  13.       - This version cannot boot OS/2 from a Linux partition yet.
  14.         To boot OS/2 from a Linux partition you must use the 16
  15.         bits version. This will be corrected in a future version.
  16.  
  17.   Benefits of the 32 bits version :
  18.       - Now it can be compiled with a modern compiler (Visualage C++)
  19.         Old MS junks are no longer necessary (at least for ext2-os2.ifs)
  20.       - Larger cache sizes can be used than with the 16 bits version. 
  21.         (system limits are a lot higher).
  22.       - In some area, a significant performance gain can be observed
  23.         (eg 25% on a 16 Mb file write).
  24.  
  25.   How does it work ?
  26.       OS/2 still has a 16 bits Physical Device Driver model, as well
  27.       as a 16 bits IFS model. An IFS is actually a library with a
  28.       predefined set of entry points to perform file I/O operations.
  29.       These entry points are 16 bits protect mode. The first thing each
  30.       entry point does is to load 32 bits FLAT segment registers and jump 
  31.       to the 32 bits routine performing the actual operation. Before doing
  32.       the actual job, 16 bits pointers passed to the routine are converted
  33.       to 32 bits pointers using a kernel helper. This process is known as
  34.       "thunking". In OS/2 kernel mode, this thunking is fast and efficient
  35.       since stack switching is not required (the stack segment register 
  36.       is not reloaded). 
  37.           At some point, the IFS may need to call the kernel for some 
  38.       services. Here again, as the kernel services are 16 bits entry points
  39.       (Device Helpers, File System Helpers), this thunking process is 
  40.       necessary. To do this I wrote an interface to Device Helpers callable
  41.       from 32 bits Visualage C++ code. Since this interface is generic and
  42.       independant from ext2-os2.ifs, I isolated it in a separate driver
  43.       (mwdd32.sys) so that other clients than ext2-os2.ifs can use it.
  44.  
  45.   Installation notice :
  46.       a new component (mwdd32.sys) is necessary to make ext2-os2.ifs work.
  47.       Don't remove mwdd32.sys from CONFIG.SYS !!
  48.  
  49.   Developping other 32 bits IFS or device drivers :
  50.       Other device drivers and IFS can profit from the facilities I had to
  51.       implement to port ext2-os2 to 32 bits. The package includes the file
  52.       32drv120.zip, which contains mwdd32.sys sources, as well as skeletons
  53.       of a 32 bits BASEDEV and a 32 bits IFS.
  54.  
  55.  
  56. Matthieu WILLM (willm@ibm.net)
  57.